1. Field of the Invention
This application relates generally to networking devices, and, more specifically, networking devices that present different virtual router configurations to different end users, classes of service or packets.
2. Related Art
Virtual router functionality refers to the capability of the same physical networking device of presenting different virtual router configurations to different end users, classes of desired service, or packets. As a result of this capability, the same physical networking device appears as a plurality of different virtual routers.
Virtual router functionality complicates the process of determining whether the destination Media Access Control (MAC) address in an incoming packet matches the MAC address of the device, indicating that the packet should be routed (at OSI layer three), not switched (at OSI layer two). One complication arises because each virtual router could have a different MAC address, and so the same physical networking device must be capable of detecting matches with the MAC addresses for all the virtual routers the device is capable of presenting.
Current networking devices are assigned a fixed allocation of MAC addresses to handle various redundancy protocols, such as the Virtual Router Redundancy Protocol (VRRP) and the Extreme Standby Router Protocol (ESRP™). According to these protocols, a master-slave relationship is maintained between each device and a shadow device assigned to it. When a master device is disabled for any reason, the slave device takes over the functionality of the master, including taking over its MAC and IP address. The MAC address of the master, stored in a pool of MAC addresses assigned to the slave, is activated so that it functions as the MAC address of the slave.
However, the fixed number of MAC addresses assigned to a device is generally insufficient to comply with the dual requirements imposed by the redundancy protocols and the needs of virtual routing. Moreover, an increase in the fixed allocation of MAC addresses assigned to a device to handle both requirements tends to be wasteful of memory and also tends to scale poorly with an increase in the number of virtual routers that the device is capable of presenting.